input: Write a function to create a REST API with Python and Flask that allows users to create, read, update, and delete records from a database. The API should utilize Flask-SQLAlchemy for database operations and support basic CRUD functionalities on a Record model. If the API is successfully created, return the Flask app instance. If an issue occurs during the creation, return None.
  assert create_api() != None
  assert create_api().config['SQLALCHEMY_DATABASE_URI'] == 'sqlite:////tmp/test.db'
output: def create_api():
      try:
          from flask import Flask, request, jsonify
          from flask_sqlalchemy import SQLAlchemy
  
          app = Flask(__name__)
          app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
          app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
          db = SQLAlchemy(app)
  
          class Record(db.Model):
              id = db.Column(db.Integer, primary_key=True)
              data = db.Column(db.String(100), nullable=False)
  
          @app.route('/records', methods=['POST'])
          def create_record():
              data = request.json.get('data')
              if not data:
                  return jsonify({"error": "Data is required"}), 400
              new_record = Record(data=data)
              db.session.add(new_record)
              db.session.commit()
              return jsonify({"id": new_record.id, "data": new_record.data}), 201
  
          @app.route('/records/<int:id>', methods=['GET'])
          def read_record(id):
              record = Record.query.get(id)
              if not record:
                  return jsonify({"error": "Record not found"}), 404
              return jsonify({"id": record.id, "data": record.data})
  
          @app.route('/records/<int:id>', methods=['PUT'])
          def update_record(id):
              record = Record.query.get(id)
              if not record:
                  return jsonify({"error": "Record not found"}), 404
              data = request.json.get('data')
              if not data:
                  return jsonify({"error": "Data is required"}), 400
              record.data = data
              db.session.commit()
              return jsonify({"id": record.id, "data": record.data})
  
          @app.route('/records/<int:id>', methods=['DELETE'])
          def delete_record(id):
              record = Record.query.get(id)
              if not record:
                  return jsonify({"error": "Record not found"}), 404
              db.session.delete(record)
              db.session.commit()
              return jsonify({"result": "Record deleted"})
  
          db.create_all()
          return app
      except Exception as e:
          return None