YAFLogo

ChadD
  • ChadD
  • 55.4% (Neutral)
  • YAF Forumling Topic Starter
16 years ago
Upgrade from 1.9.1 - Using 1.9.3 Beta - ASP.NET 2.0 - Windows Server 2003

I tried searching around the forum, but couldn't find anything. I'm going to try to look at the database schema and see what could be up, but I'm assuming it's a DB upgrade problem? Anything I can do to redo the upgrade? Thanks!

When a user registers the following erros occur (The bottom one happens first), I can provide complete slack trace if needed:

System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_yaf_CheckEmail_yaf_User". The conflict occurred in database "chaddevine", table "dbo.yaf_User", column 'UserID'.
The statement has been terminated.
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'UserID', table 'chaddevine.dbo.yaf_UserGroup'; column does not allow nulls. INSERT fails.
The statement has been terminated.
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'Gender', table 'chaddevine.dbo.yaf_User'; column does not allow nulls. INSERT fails.
The statement has been terminated.

Sponsor
ChadD
  • ChadD
  • 55.4% (Neutral)
  • YAF Forumling Topic Starter
16 years ago
I can't seem to figure anything out on this one. I did the upgrade by the book, not sure why this happened. I'm going to try to re-copy the files over and see if that helps.

When I check the yaf_Checkemail table, nothing is in it. I'm not sure but that could be part of the problem - since it's trying to find a foreign key there.

ChadD
  • ChadD
  • 55.4% (Neutral)
  • YAF Forumling Topic Starter
16 years ago
Ok, now a user can register. I redid the install process and re-upgraded the database. I guess something didn't happen the first time???

Now the user can't be verified - that errors out.

Secondly, registering with an email that previously received an error now brings the error that the email was already registerd - however no email exists in yaf_users or yaf_checkemail.

-- Nevermind, scratch the email problem, I found them in yaf_prof_Membership. :D


System.NullReferenceException: Object reference not set to an instance of an object.
   at YAF.Classes.Data.DB.user_get(Int32 boardID, Object providerUserKey)
   at YAF.Classes.Utils.UserMembershipHelper.ApproveAll()
   at YAF.Pages.Admin.admin.UserList_ItemCommand(Object source, RepeaterCommandEventArgs e)

I guess the 1.9.3 Beta upgrade completely hosed my database the first time, and re-running the install hosed it even further. I didn't have the capability to backup my database at the time I did the install (well, I still don't). So, I guess this may mean a complete "blowing away" of the database if needed.

ChadD
  • ChadD
  • 55.4% (Neutral)
  • YAF Forumling Topic Starter
16 years ago
Ok updates.

Now the error has stopped happening... I've deleted rows in the yaf_prov_membership that didn't correspond to the yaf_users table. Basically fixing the foreign key relation problems I'm assuming.

Now, however, and finally - one last problem. When someone clicks the verification link in the email, it doesn't verify the user. I must do this manually for them through the admin control panel.

Jaben
  • Jaben
  • 100% (Exalted)
  • YAF Developer
16 years ago
Sorry, no quick fixes for this. I'll have to look at the upgrade procedure a tad more from your version.

One suggestion is to remove the "Gender" column from your yaf_User table.

ChadD
  • ChadD
  • 55.4% (Neutral)
  • YAF Forumling Topic Starter
16 years ago

Sorry, no quick fixes for this. I'll have to look at the upgrade procedure a tad more from your version.

One suggestion is to remove the "Gender" column from your yaf_User table.

Jaben wrote:

No worries, I think I'm close. I'll try the gender column and report back. The forum is a closed forum anyway, I don't expect many registrations, so I'll be ok for the most part. I just hope I can fix it in the future.

slipperybeans
16 years ago
Is it something as simple as fixing the install/constraints.sql to drop the old foreign key with the proper name?

if exists(select 1 from dbo.sysobjects where name='FK_{objectQualifier}CheckEmail_{objectQualifier}User' and parent_obj=object_id('[{databaseOwner}].[{objectQualifier}CheckEmail]') and OBJECTPROPERTY(id,N'IsForeignKey')=1)
	alter table [{databaseOwner}].[{objectQualifier}CheckEmail] drop constraint [FK_{objectQualifier}CheckEmail_{objectQualifier}User]
go

The code in constraints.sql didn't have the {objectQualifier} tags in it, so it was simply trying to remove FK_CheckEmail_User rather than FK_yaf_CheckEmail_yaf_User