CRITICAL:root:Error running database evolver function change_column_attr_unique:

38 views
Skip to first unread message

John Schmitt

unread,
Jul 4, 2015, 2:17:33 PM7/4/15
to revie...@googlegroups.com
Something seems to go wrong during my upgrade.  What do I need to do to make this work?

This is my script that ought to upgrade my installation from 1.55 to 2.0

#!/bin/bash


export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
set -x
set -e
set -u


systemctl stop httpd


# perform a fresh installation of ReviewBoard
rm
-rf /var/www/reviews.domain.com
mysql
--password=password -e 'drop database if exists reviewboard;'
mysql
--password=password -e 'create database reviewboard;'
rb
-site install /var/www/reviews.domain.com --noinput                          \
                                           
--opt-out-support-data             \
                                           
--domain-name='reviews.domain.com' \
                                           
--site-root='/'                    \
                                           
--static-url='static/'             \
                                           
--media-url='media/'               \
                                           
--db-type='mysql'                  \
                                           
--db-name='reviewboard'            \
                                           
--db-user='root'                   \
                                           
--db-pass='password'               \
                                           
--db-host='localhost'              \
                                           
--cache-type='memcached'           \
                                           
--cache-info='localhost:11211'     \
                                           
--web-server-type='apache'         \
                                           
--web-server-port='80'             \
                                           
--python-loader='wsgi'             \
                                           
--admin-user='admin'               \
                                           
--admin-password='password'        \
                                           
--admin-email='jsch...@domain.com'
chown
-R apache.apache "/var/www/reviews.domain.com/data"
chown
-R apache.apache "/var/www/reviews.domain.com/htdocs/media/ext"
chown
-R apache.apache "/var/www/reviews.domain.com/htdocs/media/uploaded"
chown
-R apache.apache "/var/www/reviews.domain.com/htdocs/static/ext"
mkdir
"/var/www/reviews.domain.com/search-index"
chown
-R apache.apache "/var/www/reviews.domain.com/search-index"


# import the reviewboard data from the old reviewobard installation
# general.log grows too big so I delete it but I have to restart mariadb so it'll create a fresh one
rm
-rf /var/log/mariadb/general.log
mysql
--password=password < /root/reviewboard.dump
rm
-rf /var/log/mariadb/general.log
systemctl restart mariadb


# the old installation was stored at /data/...
# the new installation is stored at /var/www/reviews.domain.com/...
# the new installation directory has to be manually set in the siteconfig_siteconfiguration table
# the siteconfig_siteconfiguration is a giant json string
#mysql --password=password --batch --skip-column-names -e 'use reviewboard; select settings from siteconfig_siteconfiguration;' | grep '^{' > siteconfig_siteconfiguration.text
mysql
--password=password --batch --skip-column-names -e 'use reviewboard; select settings from siteconfig_siteconfiguration;' > siteconfig_siteconfiguration.text
sed
-i 's|/data/django-sites/ReviewBoard|/var/www/reviews.domain.com|' siteconfig_siteconfiguration.text
sed
-i 's|data/django-sites/ReviewBoard|/var/www/reviews.domain.com|' siteconfig_siteconfiguration.text
# the giant json string needs to be quoted so bash won't munge it; is there a better way?
/usr/bin/echo -n 'use reviewboard; update siteconfig_siteconfiguration set settings=' > siteconfig.command0
/usr/bin/echo -n "'" >> siteconfig.command0
cat siteconfig_siteconfiguration
.text >> siteconfig.command0
/usr/bin/echo -n "'" >> siteconfig.command0
# `cat` seems to put in a newline I do not want
tr
-d '\n' < siteconfig.command0 > siteconfig.command
# print the final command, for debugging
/usr/bin/echo ------------------------------
cat siteconfig
.command
/usr/bin/echo ------------------------------
mysql
--password=password < siteconfig.command
rb
-site upgrade /var/www/reviews.domain.com
s
ystemctl start httpd

This seems to work but then I see this when I try to start httpd:

Jul 04 11:07:32 dyn40-62-43.tintri.com systemd[1]: Starting The Apache HTTP Server...
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: CRITICAL:root:Error running database evolver function change_column_attr_unique:
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: Traceback (most recent call last):
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 495, in change_column_attrs
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: attr_info['new_value'])
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 607, in change_column_attr_unique
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: self.remove_recorded_index(model, constraint_name, unique=True)
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 822, in remove_recorded_index
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: index_name, unique=unique)
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/signature.py", line 186, in remove_index_from_database_sig
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: assert index_name in indexes
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: AssertionError
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: ERROR:root:Unexpected error:
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: Traceback (most recent call last):
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 65, in handle
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: self.evolve(*app_labels, **options)
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 125, in evolve
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: sql.extend(self.evolve_app(app))
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 165, in evolve_app
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: app_mutator_sql = app_mutator.to_sql()
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 304, in to_sql
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: sql.extend(mutator.to_sql())
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 187, in to_sql
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: return self.evolver.generate_table_ops_sql(self, self._ops)
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 42, in generate_table_ops_sql
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: prev_sql_result, prev_op)
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 84, in generate_table_op_sql
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: op['new_attrs']))
Jul 04 11:07:44 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 495, in change_column_attrs
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: attr_info['new_value'])
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 607, in change_column_attr_unique
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.remove_recorded_index(model, constraint_name, unique=True)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 822, in remove_recorded_index
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: index_name, unique=unique)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/signature.py", line 186, in remove_index_from_database_sig
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: assert index_name in indexes
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: AssertionError
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Rebuilding directory structure
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Updating database. This may take a while.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: The log output below, including warnings and errors,
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: can be ignored unless upgrade fails.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: ------------------ <begin log output> ------------------
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Creating tables ...
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for auth.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for contenttypes.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for accounts.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for changedescs.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for diffviewer.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for reviews.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: There are unapplied evolutions for scmtools.
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Project signature has changed - an evolution is required
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Installing custom SQL ...
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Installing indexes ...
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Installed 0 object(s) from 0 fixture(s)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: Traceback (most recent call last):
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/bin/rb-site", line 9, in <module>
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: load_entry_point('ReviewBoard==2.0.17', 'console_scripts', 'rb-site')()
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line 1885, in main
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: command.run()
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line 1694, in run
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: site.migrate_database()
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line 438, in migrate_database
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.run_manage_command("evolve", ["--noinput", "--execute"])
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/reviewboard/cmdline/rbsite.py", line 662, in run_manage_command
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: execute_from_command_line([__file__, cmd] + params)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: utility.execute()
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.fetch_command(subcommand).run_from_argv(self.argv)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.execute(*args, **options.__dict__)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: output = self.handle(*args, **options)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 65, in handle
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.evolve(*app_labels, **options)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 125, in evolve
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: sql.extend(self.evolve_app(app))
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 165, in evolve_app
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: app_mutator_sql = app_mutator.to_sql()
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 304, in to_sql
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: sql.extend(mutator.to_sql())
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 187, in to_sql
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: return self.evolver.generate_table_ops_sql(self, self._ops)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 42, in generate_table_ops_sql
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: prev_sql_result, prev_op)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 84, in generate_table_op_sql
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: op['new_attrs']))
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 495, in change_column_attrs
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: attr_info['new_value'])
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 607, in change_column_attr_unique
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: self.remove_recorded_index(model, constraint_name, unique=True)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/db/common.py", line 822, in remove_recorded_index
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: index_name, unique=unique)
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: File "/usr/lib/python2.7/site-packages/django_evolution/signature.py", line 186, in remove_index_from_database_sig
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: assert index_name in indexes
Jul 04 11:07:45 dyn40-62-43.tintri.com rb-site[2066]: AssertionError
Jul 04 11:07:45 dyn40-62-43.tintri.com systemd[1]: httpd.service: control process exited, code=exited status=1
Jul 04 11:07:45 dyn40-62-43.tintri.com systemd[1]: Failed to start The Apache HTTP Server.
Jul 04 11:07:45 dyn40-62-43.tintri.com systemd[1]: Unit httpd.service entered failed state.


If it's any help, this is the output of my script:

(./rb-install:5): set -e
+(./rb-install:6): set -u
+(./rb-install:8): systemctl stop httpd
+(./rb-install:11): rm -rf /var/www/reviews.domain.com
+(./rb-install:12): mysql --password=password -e 'drop database if exists reviewboard;'
+(./rb-install:13): mysql --password=password -e 'create database reviewboard;'
+(./rb-install:14): rb-site install /var/www/reviews.domain.com --noinput --opt-out-support-data --domain-name=reviews.domain.com --site-root=/ --static-url=static/ --media-url=media/ --db-type=mysql --db-name=reviewboard --db-user=root --db-pass=password --db-host=localhost --cache-type=memcached --cache-info=localhost:11211 --web-server-type=apache --web-server-port=80 --python-loader=wsgi --admin-user=admin --admin-password=password --admin-email=jschmitt@domain.com




* Welcome to the Review Board site installation wizard


   
This will prepare a Review Board site installation in:


   
/var/www/reviews.domain.com


   
We need to know a few things before we can prepare your site for
    installation
. This will only take a few minutes.




* Installing the site...
Building site directories ... OK
Building site configuration files ... OK
Creating database ... Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_site
Creating table django_session
Creating table extensions_registeredextension
Creating table siteconfig_siteconfiguration
Creating table accounts_reviewrequestvisit
Creating table accounts_profile_starred_review_requests
Creating table accounts_profile_starred_groups
Creating table accounts_profile
Creating table accounts_localsiteprofile
Creating table attachments_fileattachment
Creating table changedescs_changedescription
Creating table diffviewer_filediffdata
Creating table diffviewer_filediff
Creating table diffviewer_diffset
Creating table diffviewer_diffsethistory
Creating table hostingsvcs_hostingserviceaccount
Creating table reviews_group_users
Creating table reviews_group
Creating table reviews_defaultreviewer_repository
Creating table reviews_defaultreviewer_people
Creating table reviews_defaultreviewer_groups
Creating table reviews_defaultreviewer
Creating table reviews_comment
Creating table reviews_fileattachmentcomment
Creating table reviews_screenshot
Creating table reviews_reviewrequest_changedescs
Creating table reviews_reviewrequest_target_people
Creating table reviews_reviewrequest_inactive_screenshots
Creating table reviews_reviewrequest_screenshots
Creating table reviews_reviewrequest_depends_on
Creating table reviews_reviewrequest_inactive_file_attachments
Creating table reviews_reviewrequest_target_groups
Creating table reviews_reviewrequest_file_attachments
Creating table reviews_reviewrequest
Creating table reviews_screenshotcomment
Creating table reviews_review_file_attachment_comments
Creating table reviews_review_comments
Creating table reviews_review_screenshot_comments
Creating table reviews_review
Creating table reviews_reviewrequestdraft_target_people
Creating table reviews_reviewrequestdraft_depends_on
Creating table reviews_reviewrequestdraft_file_attachments
Creating table reviews_reviewrequestdraft_screenshots
Creating table reviews_reviewrequestdraft_inactive_screenshots
Creating table reviews_reviewrequestdraft_inactive_file_attachments
Creating table reviews_reviewrequestdraft_target_groups
Creating table reviews_reviewrequestdraft
Creating table scmtools_tool
Creating table scmtools_repository_review_groups
Creating table scmtools_repository_users
Creating table scmtools_repository
Creating table site_localsite_users
Creating table site_localsite_admins
Creating table site_localsite
Creating table django_project_version
Creating table django_evolution
Registering new SCM Tool Subversion (reviewboard.scmtools.svn.SVNTool) in database
Registering new SCM Tool Git (reviewboard.scmtools.git.GitTool) in database
Registering new SCM Tool Bazaar (reviewboard.scmtools.bzr.BZRTool) in database
Registering new SCM Tool CVS (reviewboard.scmtools.cvs.CVSTool) in database
Registering new SCM Tool Perforce (reviewboard.scmtools.perforce.PerforceTool) in database
Registering new SCM Tool Plastic SCM (reviewboard.scmtools.plastic.PlasticTool) in database
Registering new SCM Tool ClearCase (reviewboard.scmtools.clearcase.ClearCaseTool) in database
Registering new SCM Tool Mercurial (reviewboard.scmtools.hg.HgTool) in database
Installing baseline version
Evolutions in auth baseline: auth_delete_message, auth_unique_together_baseline
Evolutions in contenttypes baseline: contenttypes_unique_together_baseline
Evolutions in sessions baseline: session_expire_date_db_index
Evolutions in accounts baseline: is_private, timezone, open_an_issue, extra_data, timezone_length_30, localsiteprofile_permissions, unique_together_baseline, profile_show_closed, profile_should_send_email, profile_should_send_own_updates, profile_default_use_rich_text
Evolutions in attachments baseline: file_attachment_orig_filename, file_attachment_file_max_length_512, file_attachment_repo_info, file_attachment_repo_path_no_index, file_attachment_repo_revision_max_length_64
Evolutions in changedescs baseline: fields_changed_longtext, rich_text
Evolutions in diffviewer baseline: add_parent_diffs, filediff_filenames_1024_chars, diffset_basedir, filediff_status, add_diff_hash, diffsethistory_diff_updated, filediffdata_line_counts, diffset_base_commit_id, filediffdata_extra_data, all_extra_data
Evolutions in hostingsvcs baseline: account_hosting_url, account_hosting_url_max_length_255, account_unique_together_baseline
Evolutions in reviews baseline: change_descriptions, last_review_timestamp, shipit_count, default_reviewer_repositories, null_repository, localsite, group_incoming_request_count, group_invite_only, group_visible, default_reviewer_local_site, add_issues_to_comments, file_attachments, file_attachment_comment_extra_data, review_request_last_review_activity_timestamp, review_request_depends_on, commit_id, file_attachment_comment_diff_id, rich_text, base_comment_extra_data, unique_together_baseline, extra_data, review_request_issue_counts, group_mailing_list_charfield, review_request_draft_commit_id, review_request_summary_index, review_request_summary_index_manual, split_rich_text
Evolutions in scmtools baseline: bugzilla_url_charfield, repository_raw_file_url, repository_visible, repository_path_length_255, localsite, repository_access_control, group_site, repository_hosting_accounts, repository_extra_data_null, unique_together_baseline, repository_archive, repository_hooks_uuid, repository_raw_password
Evolutions in site baseline: localsite_public
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
OK
Performing migrations ... No evolution required.
OK
Creating administrator account ... OK
Saving site settings ... Saving site /var/www/reviews.domain.com to the sitelist /etc/reviewboard/sites


OK
Setting up support ... OK




* The site has been installed


   
The site has been installed in /var/www/reviews.domain.com


   
Sample configuration files for web servers and cron are available


   
in the conf/ directory.


   
You need to modify the ownership of the following directories and
    their contents to be owned
by the web server:
       
* /var/www/reviews.domain.com/htdocs/media/uploaded
       
* /var/www/reviews.domain.com/htdocs/media/ext
       
* /var/www/reviews.domain.com/htdocs/static/ext
       
* /var/www/reviews.domain.com/data


   
For more information, visit:


    https
://www.reviewboard.org/docs/manual/2.0/admin/installation/creating-sites/




* Get more out of Review Board


   
To enable PDF document review, enhanced scalability, GitHub
   
Enterprise support, and more, download Power Pack at:


    https
://www.reviewboard.org/powerpack/


   
Your install key for Power Pack is:
    c1be5e7b1bd75182fc21e927d1d4fc572cb07578


   
Support contracts for Review Board are also available:


    https
://www.beanbaginc.com/support/contracts/
+(./rb-install:33): chown -R apache.apache /var/www/reviews.domain.com/data
+(./rb-install:34): chown -R apache.apache /var/www/reviews.domain.com/htdocs/media/ext
+(./rb-install:35): chown -R apache.apache /var/www/reviews.domain.com/htdocs/media/uploaded
+(./rb-install:36): chown -R apache.apache /var/www/reviews.domain.com/htdocs/static/ext
+(./rb-install:37): mkdir /var/www/reviews.domain.com/search-index
+(./rb-install:38): chown -R apache.apache /var/www/reviews.domain.com/search-index
+(./rb-install:42): rm -rf /var/log/mariadb/general.log
+(./rb-install:43): mysql --password=password
+(./rb-install:44): rm -rf /var/log/mariadb/general.log
+(./rb-install:45): systemctl restart mariadb
+(./rb-install:52): mysql --password=password --batch --skip-column-names -e 'use reviewboard; select settings from siteconfig_siteconfiguration;'
+(./rb-install:53): sed -i 's|/data/django-sites/ReviewBoard|/var/www/reviews.domain.com|' siteconfig_siteconfiguration.text
+(./rb-install:54): sed -i 's|data/django-sites/ReviewBoard|/var/www/reviews.domain.com|' siteconfig_siteconfiguration.text
+(./rb-install:56): /usr/bin/echo -n 'use reviewboard; update siteconfig_siteconfiguration set settings='
+(./rb-install:57): /usr/bin/echo -n ''\'''
+(./rb-install:58): cat siteconfig_siteconfiguration.text
+(./rb-install:59): /usr/bin/echo -n ''\'''
+(./rb-install:61): tr -d '
\n'
+(./rb-install:63): /usr/bin/echo ------------------------------
------------------------------
+(./rb-install:64): cat siteconfig.command
use reviewboard; update siteconfig_siteconfiguration set settings='
{"mail_host_password": "password", "cache_backend": "file:///tmp/reviewboard_cache", "site_upload_temp_dir": null, "locale_datetime_format": "N j, Y, P", "auth_x509_username_regex": "", "auth_ldap_tls": false, "mail_host_user": "ale...@domain.com", "auth_ad_use_tls": false, "locale_year_month_format": "F Y", "auth_ldap_uid_mask": "", "mail_server_address": "root@localhost", "auth_ldap_uri": "", "diffviewer_context_num_lines": 5, "diffviewer_paginate_orphans": 10, "site_upload_max_memory_size": 2621440, "search_index_file": "/var/www/reviews.domain.com/search-index/", "auth_registration_show_captcha": false, "mail_send_review_mail": true, "site_media_root": "//var/www/reviews.domain.com/htdocs/media", "auth_ad_search_root": "", "locale_language_code": "en-us", "auth_nis_email_domain": "", "auth_ad_domain_controller": "", "logging_allow_profiling": false, "auth_ldap_anon_bind_passwd": "", "site_prepend_www": false, "auth_ldap_anon_bind_uid": "", "auth_ldap_base_dn": "", "mail_port": 587, "auth_enable_registration": false, "logging_directory": null, "locale_month_day_format": "F j", "locale_time_format": "P", "locale_date_format": "N j, Y", "auth_ldap_email_domain": "", "search_enable": true, "auth_ldap_email_attribute": "", "auth_custom_backends": [""], "diffviewer_include_space_patterns": [], "cache_expiration_time": 2592000, "site_admin_email": "cha...@domain.com", "auth_backend": "builtin", "locale_timezone": "US/Pacific", "recaptcha_public_key": "", "recaptcha_private_key": "", "auth_x509_username_field": "SSL_CLIENT_S_DN_CN", "site_domain_method": "http", "mail_use_tls": true, "diffviewer_paginate_by": 20, "logging_enabled": false, "auth_ad_find_dc_from_dns": false, "auth_require_sitewide_login": false, "auth_ad_ou_name": "", "locale_default_charset": "utf-8", "auth_x509_autocreate_users": false, "auth_ad_group_name": "", "auth_ad_recursion_depth": null, "mail_host": "smtp.gmail.com", "diffviewer_syntax_highlighting": true, "mail_default_from": "webmaster@localhost", "site_media_url": "/media/", "site_admin_name": "admin", "auth_ad_domain_name": ""}'+(./rb-install:65): /usr/bin/echo ------------------------------
------------------------------
+(./rb-install:66): mysql --password=password
+(./rb-install:75): rb-site upgrade /var/www/reviews.domain.com
CommandError: Error applying evolution: (1050, "Table '
reviews_review_file_attachment_comments' already exists")
Rebuilding directory structure
Updating database. This may take a while.


The log output below, including warnings and errors,
can be ignored unless upgrade fails.


------------------ <begin log output> ------------------
Creating tables ...
Upgrading Review Board from 1.5.5 to 2.0.17
There are unapplied evolutions for auth.
There are unapplied evolutions for contenttypes.
There are unapplied evolutions for accounts.
There are unapplied evolutions for attachments.
There are unapplied evolutions for changedescs.
There are unapplied evolutions for diffviewer.
There are unapplied evolutions for hostingsvcs.
There are unapplied evolutions for reviews.
There are unapplied evolutions for scmtools.
There are unapplied evolutions for site.
Adding baseline version for new models
Evolutions in attachments baseline: file_attachment_orig_filename, file_attachment_file_max_length_512, file_attachment_repo_info, file_attachment_repo_path_no_index, file_attachment_repo_revision_max_length_64
Evolutions in site baseline: localsite_public
Evolutions in hostingsvcs baseline: account_hosting_url, account_hosting_url_max_length_255, account_unique_together_baseline
Project signature has changed - an evolution is required
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Registering new SCM Tool Plastic SCM (reviewboard.scmtools.plastic.PlasticTool) in database




Christian Hammond

unread,
Jul 4, 2015, 3:53:41 PM7/4/15
to revie...@googlegroups.com
Hi John,

What versions of Review Board and Django Evolution are you using?

Christian
--
-- 
Christian Hammond - chri...@beanbaginc.com
Review Board - https://www.reviewboard.org

John Schmitt

unread,
Jul 4, 2015, 11:53:59 PM7/4/15
to revie...@googlegroups.com
# rpm -q ReviewBoard python-djblets python-django-evolution
ReviewBoard-2.0.17-1.el7.noarch
python-djblets-0.8.20-1.el7.noarch
python-django-evolution-0.7.5-1.el7.noarch

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to a topic in the Google Groups "reviewboard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/reviewboard/oT0NC1Bcokk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to reviewboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Christian Hammond

unread,
Jul 6, 2015, 1:51:12 AM7/6/15
to revie...@googlegroups.com
Hi John,

It looks like what's happening is that the database upgrade process is expecting your old database to have a unique index/constraint for a field (marking a particular column as being unique across entries in the table), which it doesn't have for some reason.

What I'd suggest is:

1) Restoring the database backup and getting a list of all indexes on the database.
2) Running:

    rb-site manage /path/to/site evolve -- --sql

... and dumping that to a file.

3) Find what indexes/constraints are being removed/changed that aren't present in the original database. If this isn't clear, go ahead and post both sets of data here.
4) Add any indexes that are missing.

Christian

--
Christian Hammond - chi...@chipx86.com
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.

John Schmitt

unread,
Jul 6, 2015, 12:58:52 PM7/6/15
to revie...@googlegroups.com, chi...@chipx86.com
Thanks for looking at this, Christian.

When dumping my old database, I have the option of adding 'DROP TABLE' commands.  I've been doing that since I get different error messages without it.  Should I find a better way to dump and import?

I'm working on reproducing so that I can answer your question.

                                           
--admin-email='jschmitt@domain.com'
...
Reply all
Reply to author
Forward
0 new messages