I kept getting confused - thinking of a “machine” as a computer instead of a “set of similarly programmed hardware devices”. I also assume that you want to use a single installation of FactorySQL for everything.
-If each machine is an identical PLC (as seen by FactorySQL), this is particularly simple. In the most difficult case you can perform a large copy/paste then search and replace. The only difference will likely be the OPC “topic/channel” name. If this takes you more than a few steps you’re probably complicating things. Keep in mind that machine changes will probably be most easily solved in FSQL by deleting all but one machine, making your change, then copying/pasting/S&R again - which should be a quick task.
-You should be able to achieve the above even if all machines are on the same PLC, split between PLCs, etc. This depends on a layout that “makes sense” on your part.
-Depending on the sophistication of what you’re doing with the SQL database, you might need to do some copying/pasting there. At the very least you’ll need to ensure that FSQL is writing to different places in the database, distinguishing between machines. For historical data, this usually means different tables. For realtime data you can use different rows with the “custom where clause”. The really easy way is to use a separate database for each machine - you just create a new datasource, which points to a separate database for each. I wouldn’t recommend this in most cases, but it depends on what you’re doing/how you operate.
The bottom line is that replication of machines within FSQL should be easy to implement, particularly with a little foresight. The CSV export is an even more powerful tool - it allows you to use Excel to do massive pattern/sequence based changes. You can probably solve your problem with copy and paste and search and replace operations.