Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7891789
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T06:42:25+00:00 2026-06-03T06:42:25+00:00

We are working on an application in CakePHP that will be used by multiple

  • 0

We are working on an application in CakePHP that will be used by multiple companies. We want to ensure performance, scalability, code manageability and security for our application.

Our current beta version creates a new database for each customer. When a new company joins the site we run a SQL script to create a blank database.
This has the following advantages:
– Better security (companies users are separated from each other)
– We can set the database via the subdomain (IE: monkey.site.com, uses the site_monkey database)
– Single code base.
– Performance for SQL queries is generally quite good as data is split across smaller databases.

Now unfortunately this has many disadvantages
– Manageability: changes to database have to happen across all existing databases
– The SQL script method of creation is clunky and not as reliable as we would like
– We want to allow users to login from the home page (EG. http://www.site.com) but we cant currently do this as the subdomain determines what database to use.
– We would like a central place to keep metrics/customer usage.

So we are torn/undecided as to what is the best solution to our database structure for our application.

Currently we see three options:
– Keep multiple database design
– Merge all companies into one DB and identify each by a ‘companyId’
– Some kind of split model, where certain tables are in a ‘core database’ and others are in a customer specific database.

Can you guys offer some of your precious advise on how you think we should best do this?
Any feedback / info would be greatly appreciated.

Many thanks,

kSeudo

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T06:42:26+00:00Added an answer on June 3, 2026 at 6:42 am

    Just my suggestion:

    I think better you keep the customer related data in different databases and authentication related data in a common database So when a user logs in you should have an entry with domain that user belongs to and redirect to that domain and access the corresponding database and data.

    Again your concern of changes to the database, You need to implement the changes in each databases separately. I think there is some advantages to this also. Some customers may ask for few changes according to their process. So this can be easily managed if you are keeping separate databases for different customers.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am currently working on a application that will be implementing user customizable widgets
My problem is that memcache logic inside my cakePHP application is not working on
I am working on a CakePHP project that has a database populated from multiple
I am working on splitting out an existing, working application that I currently have
I'm working on application where I want show popover in - (void)applicationWillEnterForeground:(UIApplication *)application app
Now that I have a read-only application working, I am working on the insert
let's say i have: http://some-domain/application/controller/action/parameter This is somehow working in cakePHP. Now I want
I am trying to add CakePHP's Security Component to my Application, but it slows
I am working on a project in CakePHP 1.3 which will store a collection
I'm currently working on building an application in CakePHP. There's a quite extensive existing

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.