Table 'radiant.users' doesn't exist in db:bootstrap - not cr

I’m try to set up default Radiant install but am running into trouble
during rake db:bootstrap. I’ve found two postings from people who are
getting the same error I am, which is:

Mysql::Error: Table ‘radiant.users’ doesn’t exist: SHOW FIELDS FROM
users

My development.log shows no attempt to create the users table, and
checking the last radiant method to run in the stack trace, I see it
just assumes the users table exists. Is there some earlier stage of
the install process that should be creating it, but for some reason
isn’t?

/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/lib/radiant/setup.rb:40:in
`create_admin_user’

Below the dashed line are all the steps I used to create the project
and their outputs, including the development.log file. The only place
I really deviate from the instructions I’ve seen online is where I use
the development database instead of the production one.

Also, some previous recent postings related to this that went
unresolved:
http://www.ruby-forum.com/topic/108369
http://lists.radiantcms.org/pipermail/radiant/2007-May/005050.html

Like the 2nd poster, I also installed from a gem and you can see my
database creation steps and database.yml config below. The database
user spongebob I am using is working fine with other rails
projects/databases on the same server. The system is running Kanotix,
which is essentially debian.

Is this a bug? Or am I doing something wrong? Please help.

-Lindsay


railsuser@KanotixBox:~$ rails radiant
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create script/process
create test/fixtures
create test/functional
create test/integration
create test/mocks/development
create test/mocks/test
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create Rakefile
create README
create app/controllers/application.rb
create app/helpers/application_helper.rb
create test/test_helper.rb
create config/database.yml
create config/routes.rb
create public/.htaccess
create config/boot.rb
create config/environment.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/breakpointer
create script/console
create script/destroy
create script/generate
create script/performance/benchmarker
create script/performance/profiler
create script/process/reaper
create script/process/spawner
create script/runner
create script/server
create script/plugin
create public/dispatch.rb
create public/dispatch.cgi
create public/dispatch.fcgi
create public/404.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log

railsuser@KanotixBox:~$ cd radiant
railsuser@KanotixBox:~/radiant$ ls -l
total 12
-rw-r–r-- 1 railsuser railsuser 7353 Jun 6 13:08 README
-rw-r–r-- 1 railsuser railsuser 307 Jun 6 13:08 Rakefile
drwxr-xr-x 6 railsuser railsuser 152 Jun 6 13:08 app
drwxr-xr-x 2 railsuser railsuser 48 Jun 6 13:08 components
drwxr-xr-x 3 railsuser railsuser 200 Jun 6 13:08 config
drwxr-xr-x 2 railsuser railsuser 48 Jun 6 13:08 db
drwxr-xr-x 2 railsuser railsuser 80 Jun 6 13:08 doc
drwxr-xr-x 3 railsuser railsuser 72 Jun 6 13:08 lib
drwxr-xr-x 2 railsuser railsuser 168 Jun 6 13:08 log
drwxr-xr-x 5 railsuser railsuser 408 Jun 6 13:08 public
drwxr-xr-x 4 railsuser railsuser 304 Jun 6 13:08 script
drwxr-xr-x 7 railsuser railsuser 216 Jun 6 13:08 test
drwxr-xr-x 5 railsuser railsuser 120 Jun 6 13:08 tmp
drwxr-xr-x 3 railsuser railsuser 72 Jun 6 13:08 vendor

railsuser@KanotixBox:~/radiant/config$ vi database.yml
railsuser@KanotixBox:~/radiant/config$ cat database.yml
development:
adapter: mysql
database: radiant
username: spongebob
password: thepassword
host: localhost

Warning: The database defined as ‘test’ will be erased and

re-generated from your development database when you run ‘rake’.

Do not set this db to the same as development or production.

test:
adapter: mysql
database: radiant_test
username: root
password:
host: localhost

production:
adapter: mysql
database: radiant_production
username: root
password:
host: localhost

railsuser@KanotixBox:~/radiant/config$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 72 to server version: 5.0.24-Debian_3-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> create database radiant;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on radiant.* to spongebob@‘%’ identified by
‘thepassword’;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

railsuser@KanotixBox:~/radiant/config$ cd …
railsuser@KanotixBox:~/radiant$ radiant --database mysql
/var/rails/radiant
exists
create CHANGELOG
create CONTRIBUTORS
create INSTALL
create LICENSE
overwrite README? [Ynaqd] a
forcing instance
force README
exists config
exists config/environments
force config/environments/development.rb
force config/environments/production.rb
force config/environments/test.rb
exists db
exists log
exists public
force public/.htaccess
identical public/404.html
force public/500.html
force public/dispatch.cgi
force public/dispatch.fcgi
force public/dispatch.rb
identical public/favicon.ico
exists public/images
create public/images/admin
create public/images/admin/add-child.png
create public/images/admin/brown-bottom-line.gif
create public/images/admin/clear-page-cache.png
create public/images/admin/collapse.png
create public/images/admin/expand.png
create public/images/admin/layout.png
create public/images/admin/minus.png
create public/images/admin/new-homepage.png
create public/images/admin/new-layout.png
create public/images/admin/new-snippet.png
create public/images/admin/new-user.png
create public/images/admin/page.png
create public/images/admin/plus.png
create public/images/admin/remove-disabled.png
create public/images/admin/remove.png
create public/images/admin/snippet.png
create public/images/admin/spinner.gif
create public/images/admin/view-site.gif
create public/images/admin/virtual-page.png
exists public/javascripts
identical public/javascripts/application.js
force public/javascripts/controls.js
force public/javascripts/dragdrop.js
force public/javascripts/effects.js
create public/javascripts/pngfix.js
force public/javascripts/prototype.js
create public/javascripts/ruledtable.js
create public/javascripts/sitemap.js
create public/javascripts/string.js
create public/javascripts/tabcontrol.js
create public/javascripts/tag_reference_search.js
identical public/robots.txt
exists public/stylesheets
create public/stylesheets/admin
create public/stylesheets/admin/main.css
exists script
identical script/about
identical script/breakpointer
identical script/console
exists script/performance
identical script/performance/benchmarker
identical script/performance/profiler
exists script/process
create script/process/inspector
identical script/process/reaper
identical script/process/spawner
create script/process/spinner
identical script/runner
identical script/server
create script/version
create vendor/extensions
exists vendor/plugins
force script/generate
force config/database.yml
force Rakefile
force config/routes.rb
force config/environment.rb
force config/boot.rb
readme …/…/…/…/INSTALL

== Installation and Setup

Once you have extracted the files into the directory where you would
like to
install Radiant:

  1. Create the MySQL/PostgreSQL/SQLite databases for your Web site. You
    only
    need to create the “production” database, but you may also want to
    create
    the “development” and “test” databases if you are developing
    extensions
    or running tests.

  2. Edit config/database.yml to taste.

  3. Run the database bootstrap rake task:

    % rake production db:bootstrap

    (If you would like bootstrap your development database run rake development db:bootstrap.)

  4. Start it like a normal Rails application. To test execute:

    % script/server -e production

    And open your Web browser on port 3000 (http://localhost:3000). The
    administrative interface is available at /admin/. By default the
    bootstrap
    rake task creates a user called “admin” with a password of “radiant”.

When using Radiant on a production system you may also need to set
permissions
on the public and cache directories so that your Web server can access
those
directories with the user that it runs under.

Once you’ve installed Radiant on your own Web site, be sure to add your
name
and Web site to the list of radiant users:

http://dev.radiantcms.org/radiant/wiki/RadiantUsers

railsuser@KanotixBox:~/radiant$ rake db:bootstrap --trace
(in /var/rails/radiant)
** Invoke db:bootstrap (first_time)
** Invoke db:remigrate (first_time)
** Invoke environment (first_time)
** Execute environment
Extensions cannot be used until Radiant migrations are up to date.
** Execute db:remigrate
This task will destroy any data in the database. Are you sure you want
to
continue? [yn] y
** Invoke db:migrate (first_time)
** Invoke environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
** Invoke db:schema:dump
** Execute db:bootstrap

Create the admin user (press enter for defaults).
Name (Administrator):
Username (admin):
Password (radiant):
rake aborted!
Mysql::Error: Table ‘radiant.users’ doesn’t exist: SHOW FIELDS FROM
users
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:128:in
log' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:243:in execute’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:348:in
columns' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:763:in columns’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:776:in
column_names' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:789:in column_methods_hash’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:1262:in
all_attributes_exists?' /usr/lib/ruby/1.8/erb.rb:743:in all?’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:1262:in
each' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:1262:in all?’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:1262:in
all_attributes_exists?' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/vendor/rails/activerecord/lib/active_record/base.rb:1196:in method_missing’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/lib/radiant/setup.rb:40:in
create_admin_user' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/lib/radiant/setup.rb:19:in bootstrap’
/usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/lib/radiant/setup.rb:10:in
bootstrap' /usr/lib/ruby/gems/1.8/gems/radiant-0.6.1/lib/tasks/database.rake:25 /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in call’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in execute' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in each’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in execute' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in invoke’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in synchronize' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in each’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7 /usr/bin/rake:18:in load’
/usr/bin/rake:18
railsuser@KanotixBox:~/radiant$

And from the log/development.log -
SQL (0.002053) SET SQL_AUTO_IS_NULL=0
SQL (0.000000) Mysql::Error: Table ‘radiant.extension_meta’
doesn’t exist: select count(*) from extension_meta
SQL (0.024590) CREATE TABLE schema_info (version int(11))
SQL (0.001017) INSERT INTO schema_info (version) VALUES(0)
SQL (0.002113) SELECT version FROM schema_info
SQL (0.000177) SELECT version FROM schema_info
SQL (0.002895) SELECT version FROM schema_info
SQL (0.000000) Mysql::Error: Table ‘schema_info’ already exists:
CREATE TABLE schema_info (version int(11))
SQL (0.000000) Mysql::Error: Table ‘schema_info’ already exists:
CREATE TABLE schema_info (version int(11))
SQL (0.002182) SELECT * FROM schema_info
SQL (0.004638) SHOW TABLES
User Columns (0.000000) Mysql::Error: Table ‘radiant.users’
doesn’t exist: SHOW FIELDS FROM users

Ahh, I see the problem. Radiant creates the rails project, running
"rails " on top of radiant causes things to break down.
The instructions on the site say

“From the root directory of your rails application, unpack the radiant
files by executing the radiant command:”

I just assumed a “rails application directory” would have a rails app
in it already. It may help others to mention that the executing the
radiant command takes the place of executing rails command.

-Lindsay

Lindsay Pallickal wrote:

Ahh, I see the problem. Radiant creates the rails project, running
“rails ” on top of radiant causes things to break down.
The instructions on the site say

“From the root directory of your rails application, unpack the radiant
files by executing the radiant command:”

I just revamped the entire installation section to make this much
clearer:

http://dev.radiantcms.org/radiant/wiki/Installation


John L.
http://wiseheartdesign.com