This post refers to DotKernel 1, based on Zend Framework 1.
If you are looking for DotKernel 3 related posts, go here.
If you are looking for DotKernel 3 related posts, go here.
DotKernel borrows the database naming conventions from FaZend: Rules of naming of database tables and columns. FaZend is an open-source PHP framework based on Zend Framework.
Database naming conventions for tables and columns:
- Singular table names only (e.g. user, category, product, order, orderProduct)
- Every table must have an auto-incrementing integer column id
- ZF-like names of columns and tables (e.g. user::isAdmin, orderProduct::product)
Foreign keys must have the same names as reference tables- Foreign keys must have the same names as reference tables + the name of the referenced column
Example: table referenced: admin , column name: Id
so the column will be adminId - Pattern for CONSTRAINT name : FK_referencedTableName_tableName
Example: CONSTRAINT `FK_admin_adminLogin` - SQL keywords are capitalized (e.g. SELECT, INT)
Example of proper SQL file formatting and naming:
CREATE TABLE IF NOT EXISTS `user`
(
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`password` VARCHAR(25) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`firstName` VARCHAR(255) NOT NULL,
`lastName` VARCHAR(255) NOT NULL,
`dateCreated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`userType` INT(11) NOT NULL AUTO_INCREMENT
`isActive` ENUM('0','1') NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
CONSTRAINT `FK_user_userType` FOREIGN KEY(`userTypeId`) REFERENCES `userType`(`id`)
ON UPDATE CASCADE
ON DELETE CASCADE
)
ENGINE=InnoDB
DEFAULT CHARSET=latin1
AUTO_INCREMENT=1 ;
Conclusion:
The names of database tables and columns must follow camelLetter as naming conventions.s
Looking for PHP, Laminas or Mezzio Support?
As part of the Laminas Commercial Vendor Program, Apidemia offers expert technical support and services for:
One Comment-

Benito Bunkley
Would it be ok if I refer to this website, from my blog page? I’m planning to source as many bits of good info as I can.