Sign In
Start Page | Recent Changes | All Pages | Orphan Pages | Junebug Help

Comparing version 20 and version 19

h2. General

h2. Installation

Problems and things to take into account at installation or project creation time.

h3. Default 'admin' user is not created during project creation when using SQLite3 #

There is an incompatibility between Rails < 1.2.3 and sqlite3 < 3.3.17 on all platforms.  This prevents the creation of the default 'admin' user when creating a new project with @"radiant -d sqlite3 path"@.  It also generates random errors because of incorrect handling of NULL values in the database.

Please update at least to Radiant 0.6.1 (which includes the latest Rails in the 'vendor' directory) and to sqlite3 3.3.17.  For more details see "this":http://weblog.rubyonrails.com/2007/1/29/using-sqlite3-with-rails and "this":http://lists.radiantcms.org/pipermail/radiant/2007-June/005302.html.

If you created a database with a failing sqlite3 version then create a new one with a correct version since the db schema will be incorrect.  In the improbable case that you already have valuable data in the old db, migrate it to the new one exporting/importing it with the sqlite3 command line utility.

A way of checking if you are suffering this problem is to dump the schema of any table of a failing Radiant database.  Example:

Wrong database where DEFAULT's are strings with a "NULL" value:


 $ cd db/
 $ sqlite3 production.sqlite3.db
 SQLite version 3.3.17
 Enter ".help" for instructions
 sqlite> .dump users
 BEGIN TRANSACTION;
 CREATE TABLE users ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(100)   DEFAULT '''''''''''''''NULL''''''''''''''', "email" varchar(255) DEFAULT '''''''''''''''NULL''''''''''''''', "login" varchar(40) DEFAULT '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' NOT NULL,  "password" varchar(40) DEFAULT '''''''''''''''NULL''''''''''''''', "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL, "created_by" integer DEFAULT 0, "updated_by" integer DEFAULT 0, "admin" boolean DEFAULT 'f' NOT NULL, "developer" boolean DEFAULT 'f' NOT NULL, "notes" text, "lock_version" integer DEFAULT 0);
INSERT INTO "users" VALUES(1,'Administrator','aitorgr@gmail.com','admin','f0b48246da06e1e1d97b2b52d46bd390c55017d3','2007-05-08 12:13:26','2007-05-08 12:14:14',NULL,1,'t','t','',1);
CREATE UNIQUE INDEX "login" ON users ("login");
COMMIT;

Correct database where DEFAULTS are proper NULLs:

 $ cd db/
 $ sqlite3 production.sqlite3.db
 SQLite version 3.3.17
 Enter ".help" for instructions
 sqlite> .dump users
 BEGIN TRANSACTION;
CREATE TABLE users ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar(100) DEFAULT NULL, "email" varchar(255) DEFAULT NULL, "login" varchar(40) DEFAULT '' NOT NULL, "password" varchar(40) DEFAULT NULL, "created_at" datetime DEFAULT NULL, "updated_at" datetime DEFAULT NULL, "created_by" integer DEFAULT NULL, "updated_by" integer DEFAULT NULL, "admin" boolean DEFAULT 'f' NOT NULL, "developer" boolean DEFAULT 'f' NOT NULL, "notes" text, "lock_version" integer DEFAULT 0);
INSERT INTO "users" VALUES(1,'Administrator','aitorgr@gmail.com','admin','f0b48246da06e1e1d97b2b52d46bd390c55017d3','2007-06-12 09:52:20','2007-06-25 10:50:27',NULL,1,'t','t','',2);
CREATE UNIQUE INDEX "login" ON users ("login");
COMMIT;
h2. Errors General problems h3. You get random errors with NULL value handling (in the line of @`constantize': "'''NULL'''Filter" is not a valid constant name!@) This is the same error as "this":#sqlite3_error.

Back to Page